/*
 * =====================================================================================
 *
 *       Filename:  cs_common.h
 *
 *    Description:  一些公共的定义
 *
 *        Version:  1.0
 *        Created:  2008年09月17日 10时43分42秒
 *       Revision:  none
 *       Compiler:  g++
 *
 *         Author:  ZhixiongHong (hzx), fishwarter@gmail.com
 *        Company:  Unioncast
 *
 * =====================================================================================
 */
#ifndef CS_COMMON_H
#define CS_COMMON_H

#include <netinet/in.h>
#include <arpa/inet.h>
#include <unistd.h>
#include <errno.h>
#include <sys/socket.h>
#include <sys/types.h>
#include <sys/wait.h>
#include <signal.h>

#include <sys/resource.h>

// thread
#include <pthread.h>

#include <cstring>
#include <cstdio>
#include <cstdlib>
#include <iostream>

using namespace std;

#define		MAXLINE			1024
#define 	MAXN			16384	/* max bytes to request from server */
#define 	LISTENQ			16
#define 	RECV_TIMEOUT	5

#ifndef HAVE_GETRUSAGE_PROTO
int getrusage(int, struct rusage*); // 汇报已经终止进程的资源利用统计
#endif // HAVE_GETRUSAGE_PROTO

void pr_cpu_time(void);				

void sig_chld(int);  				// SIGCHLD: 在一个进程终止或者停止时，SIGCHLD被送给父进程，系统默认忽略

void sig_int(int); 					// 响应中断键的信号(CTRL-C/DELETE)

void web_child(int connfd);


void init(char*, int);

int readable_timeo(int, int);

void* doit(void *);

#endif // CS_COMMON_H
